#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Created by master on 2017/3/8

try:
    pass
except Exception as e:  # 捕获异常
    # except (Exception,ValueError) as e:  # 加括号可以捕获多个异 常
    print(e)  # e是捕获到的异常信息
    # Exception 可以捕获大部分异常 一般不要轻易使用


# 自定义异常

class CustomException(Exception):
    def __init__(self, msg):
        self.message = msg

    def __str__(self):
        return self.message


try:
    raise CustomException("自定义异常")  # 需要手动触发自定义异常
except CustomException as e:
    print(e)

# 断言
a = 1

try:
    assert a == 1  # 判断如果条件不成立 就报异常
    # 判断前面的某个条件是否符合要求 如果不符合，程序就无需继续往下执行
    raise CustomException("自定义异常")  # 需要手动触发自定义异常
except CustomException as e:
    print(e)
else:  # 如果没有异常 就执行else
    print("no error")
finally:  # 无论是否出错都会执行 例如关闭连接
    print("no matter wright or wrong,run this anyway")
